DataBase Management System
DBMS
コンピュータ上でデータベースを作成・運用・管理するためのソフトウェア
主な機能
データベース言語
データ定義言語 (DDL: Data Definition Language)
データ操作言語 (DML: Data Manipulation Language)
データ制御言語 (DCL: Data Control Language)
物理的データ独立性
データの保存場所を変えても、システムに影響が少ないこと。
会社のデータベースを HDD(ハードディスク) から SSD(ソリッドステートドライブ) に移行しても、データの操作方法(SQLなど)は変えなくてよい。
論理的データ独立性
データの構造を変えても、アプリケーションに影響を与えにくいこと。
「顧客情報テーブル」に新しい「メールアドレス」列を追加 しても、今までのシステム(アプリや検索機能)はそのまま使える。
データ完全性
データの正しさを保つための仕組み。
データ型の制約
例: 年齢(age)を「文字列」ではなく「数字」に制限
一意性(ユニーク)制約
例: 同じ「ユーザーID」が2回登録されないようにする
参照整合性制約
例: 「注文」のデータに対応する「顧客」のデータが必ず存在する
トリガー
例: 顧客が削除されたら、関連する注文データも削除
トランザクション処理
「データの処理」を確実に行うための仕組み。
ACID特性 に基づいて、データを一貫性のある状態に保つ。
銀行の口座振込
AさんがBさんに 1万円を振り込む処理
Aさんの口座から「1万円を引く」
Bさんの口座に「1万円を足す」
どちらかが失敗したら、元に戻す(ROLLBACK)
6. セキュリティ
不正アクセスを防ぎ、データを保護する!
任意アクセス制御(DAC: Discretionary Access Control)
ユーザーごとに アクセス権を設定 する方式。
例: 「管理者だけが顧客情報を削除できる」
強制アクセス制御(MAC: Mandatory Access Control)
組織全体のルールでアクセスを制御。
例: 「機密情報は特定の部署しか見られない」
データ暗号化